package com.song.tools.mvc.validator;

import lombok.Data;

/**
 * 参数校验结果
 *
 * @author song tools
 * @since 2024-06-21
 */
@Data
public class ValidationResult {

    /**
     * 用于验证某个条件是否有效的标志位。
     * 通过这个布尔值，可以判断当前对象或操作是否处于有效状态。
     */
    private boolean isValid;

    /**
     * 存储验证失败时的错误信息。
     * 当isValid标志位为false时，可以通过errorMessage获取到具体的错误信息，以便于问题的定位和修复。
     */
    private String errorMessage;

    public ValidationResult(boolean isValid, String errorMessage) {
        this.isValid = isValid;
        this.errorMessage = errorMessage;
    }

    public static ValidationResult success() {
        return new ValidationResult(true, null);
    }

    public static ValidationResult fail(String errorMessage) {
        return new ValidationResult(false, errorMessage);
    }
}
